package com.ruoyi.warehouse.service;

import java.util.List;

import com.ruoyi.warehouse.domain.CkWarehouse;
import com.ruoyi.warehouse.domain.LlrkIncomingMaterialStorage;
import com.ruoyi.warehouse.domain.WldaMaterialFile;
import org.apache.commons.compress.utils.Lists;

/**
 * 来料入库Service接口
 * 
 * @author ruoyi
 * @date 2024-06-19
 */
public interface ILlrkIncomingMaterialStorageService 
{
    /**
     * 查询来料入库
     * 
     * @param llCode 来料入库主键
     * @return 来料入库
     */
    public LlrkIncomingMaterialStorage selectLlrkIncomingMaterialStorageByLlCode(String llCode);

    /**
     * 查询来料入库列表
     * 
     * @param llrkIncomingMaterialStorage 来料入库
     * @return 来料入库集合
     */
    public List<LlrkIncomingMaterialStorage> selectLlrkIncomingMaterialStorageList(LlrkIncomingMaterialStorage llrkIncomingMaterialStorage);

    /**
     * 新增来料入库
     * 
     * @param llrkIncomingMaterialStorage 来料入库
     * @return 结果
     */
    public int insertLlrkIncomingMaterialStorage(LlrkIncomingMaterialStorage llrkIncomingMaterialStorage);

    /**
     * 审核
     *
     * @param llCode 审核
     * @return 结果
     */
    public int insertCkxqStorage(String llCode);

    /**
     * 撤销
     *
     * @param llCode 撤销
     * @return 结果
     */
    public int cancel(String llCode);

    /**
     * 修改来料入库
     * 
     * @param llrkIncomingMaterialStorage 来料入库
     * @return 结果
     */
    public int updateLlrkIncomingMaterialStorage(LlrkIncomingMaterialStorage llrkIncomingMaterialStorage);

    /**
     * 批量删除来料入库
     * 
     * @param llCodes 需要删除的来料入库主键集合
     * @return 结果
     */
    public int deleteLlrkIncomingMaterialStorageByLlCodes(String[] llCodes);

    /**
     * 删除来料入库信息
     * 
     * @param llCode 来料入库主键
     * @return 结果
     */
    public int deleteLlrkIncomingMaterialStorageByLlCode(String llCode);

    /**
     * 查询物料档案
     *
     * @param wldaMaterialFile 来料入库主键
     * @return 来料入库
     */
    public List<WldaMaterialFile> selectWldaMaterialFile(WldaMaterialFile wldaMaterialFile);

    /**
     * 查询仓库信息
     *
     * @param ckWarehouse 需要删除的数据主键集合
     * @return 结果
     */
    public List<CkWarehouse> selectCkWarehouse(CkWarehouse ckWarehouse);
}
